New command to get Registry Entry ID for the SCSI Plugin
}
SCSIGetRegEntryID = $89; { Return a copy of the System Registry }
TYPE
SCSIGetRegEntryIDPBPtr = ^SCSIGetRegEntryIDPB;
SCSIGetRegEntryIDPB = RECORD
qLink: SCSIHdrPtr; { (internal use, must be nil on entry) }
scsiReserved1: INTEGER;
scsiPBLength: UInt16;
scsiFunctionCode: SInt8;
scsiReserved2: SInt8;
scsiResult: OSErr;
scsiDevice: DeviceIdent;
scsiCompletion: Ptr;
scsiFlags: UInt32;
scsiDriverStorage: BytePtr;
scsiXPTprivate: Ptr;
scsiReserved3: LONGINT;
scsiRegEntryID: RegEntryRef; { A copy of the System Registry ID }
END;
{ Functions declarations }
FUNCTION SCSIOpenConnection(VAR regID: RegEntryRef; connType: ConnectionType; VAR connID: ConnectionID): OSStatus; C;
FUNCTION SCSICloseConnection(connID: ConnectionID): OSStatus; C;
FUNCTION SCSIExecIOSyncCmd(connID: ConnectionID; dataObject: SCSIDataObject; cdbObject: SCSICDBObject; flagsObject: SCSIFlagsObject; VAR resultBuffer: SCSIExecIOResult; VAR ioTag: SCSIExecIOTag): OSStatus; C;
FUNCTION SCSIExecIOAsyncCmd(connID: ConnectionID; VAR kernelNot: KernelNotification; dataObject: SCSIDataObject; cdbObject: SCSICDBObject; flagsObject: SCSIFlagsObject; VAR resultBuffer: SCSIExecIOResult; VAR ioTag: SCSIExecIOTag): OSStatus; C;
FUNCTION SCSIAbortIOCmd(connID: ConnectionID; ioTag: SCSIExecIOTag): OSStatus; C;
FUNCTION SCSITerminateIOCmd(connID: ConnectionID; ioTag: SCSIExecIOTag): OSStatus; C;
FUNCTION SCSIReleaseQCmd(connID: ConnectionID): OSStatus; C;
FUNCTION SCSIClearQueue(connID: ConnectionID): OSStatus; C;
FUNCTION SCSIBusResetSync(connID: ConnectionID; VAR resultBuffer: OSStatus): OSStatus; C;
FUNCTION SCSIBusResetAsync(connID: ConnectionID; VAR kernelNot: KernelNotification; VAR resultBuffer: OSStatus): OSStatus; C;
FUNCTION SCSIDeviceResetSync(connID: ConnectionID; VAR resultBuffer: OSStatus): OSStatus; C;
FUNCTION SCSIDeviceResetAsync(connID: ConnectionID; VAR kernelNot: KernelNotification; VAR resultBuffer: OSStatus): OSStatus; C;
FUNCTION SCSIBusGetDeviceData(VAR bus: UInt8; reqCount: UInt32; VAR actCount: UInt32; VAR list: SCSIIOIteratorData): OSStatus; C;
FUNCTION SCSIBusInquiryCmd(connID: ConnectionID; VAR resultBuffer: SCSIBusInfo): OSStatus; C;
FUNCTION SCSISetHandshake(connID: ConnectionID; handshake: SCSIHandshakeObject): OSStatus; C;
FUNCTION SCSISetTimeout(connID: ConnectionID; scsiTimeout: Duration; scsiSelectTimeout: UInt16): OSStatus; C;
FUNCTION SCSISetIOOptions(connID: ConnectionID; ioOptions: SCSIIOOptionsObject): OSStatus; C;
FUNCTION SCSIInitFPI: OSStatus; C;
FUNCTION SCSIServer(VAR scsiPB: SCSI_PB; VAR kernelNot: KernelNotification): OSStatus; C;
FUNCTION SCSIExecIOControlSyncCmd(connID: ConnectionID; dataObject: SCSIDataObject; deviceID: DeviceIdent; cdbObject: SCSICDBObject; flagsObject: SCSIFlagsObject; VAR resultBuffer: SCSIExecIOResult; VAR ioTag: SCSIExecIOTag): OSStatus; C;
FUNCTION SCSIExecIOControlAsyncCmd(connID: ConnectionID; VAR kernelNot: KernelNotification; dataObject: SCSIDataObject; deviceID: DeviceIdent; cdbObject: SCSICDBObject; flagsObject: SCSIFlagsObject; VAR resultBuffer: SCSIExecIOResult; VAR ioTag: SCSIExecIOTag): OSStatus; C;